1. Field of the Invention
The present invention relates to an architecture for testing pervasive appliances and, in particular, testing pervasive appliances by downloading a program to the appliance to establish communication with a remote site over a network to conduct the testing operations.
2. Description of the Related Art
Currently, to diagnose pervasive appliances, such as common household appliances and other electronic devices, the owner must physically transfer via airborne mail or self-delivery the device to a service center to test and diagnose the device. Alternatively, a service representative may visit the owner to test the device. Such types of diagnosis are costly to the service provider and the customer if the operational problems may otherwise be readily solved and diagnosed at the consumer locale where the device is located.
Complex computer systems include capabilities to diagnose and test other computers from a remote site over a network. However, such systems often require substantial computational resources and are not feasible for pervasive appliances and other electronic devices that have limited computational capabilities.
To address these issues, the computer industry is currently working to develop open standards for test and measurement systems to allow the testing of a wide variety of devices. The goal of these efforts is to reduce the costs and complexity of connecting test equipment to computers and intranets. One proposed test and measurement standard is the IVI Foundation""s xe2x80x9cInterchangeable Virtual Instruments,xe2x80x9d which is a proposed test and measurement instrument driver standard that builds on the VXI PlugandPlay specifications. This specification discusses a standard driver interface to be used across devices to allow testing across computer networks.
Some of the difficulties in developing a common interface and testing architecture for pervasive appliances include the wide variety of functions and components within different appliances and the limited computational capabilities of many appliances.
Thus, there is a need in the art for architecture standards for testing remote devices having limited processing capabilities, such as consumer appliances and other types of electronic devices, over a computer network.
Preferred embodiments disclose a system, method, and program for testing appliances. The appliance includes an embedded processor system and an appliance network address to communicate with remote systems over a network. A first server program having a first network address receives a test request indicating a test to perform and an appliance to test. A second server program having a second network address is loaded and transmits information on the test request to the appliance network address indicated in the test request. A third server program having a third network address is loaded to execute within the appliance embedded processor in response to receiving information on the test request. The second server program transmits at least one test command to the third network address. The third server program executes each test command transmitted from the second server program and returns test response data, generated in response to executing each test command, to the second network address for processing by the second server program.
In further embodiments, a fourth server program executing within the appliance embedded processor receives the information on the test request transmitted by the second server program. A determination is made as to whether the third server program is loaded within the appliance embedded processor. The fourth server program sends a request for the third server program to the second network address if the third server program is not loaded in the appliance embedded processor. The fourth server program receives the third server program from the second server program.
In still further embodiments, the first server program is a Hypertext Transfer Protocol (HTTP) server, the second server program is a servlet, the third server program is a servlet, and the fourth server program is an HTTP server.
In certain embodiments, a computer connected to the network generates the test request and transmits the test request to the first server program at the first network address. The second server program returns test result data to the computer over the network.
Preferred embodiments provide a testing architecture to implement a servlet or other application program within an appliance having limited embedded processing capability. The testing architecture provides a framework in which test commands may be transmitted from a server to the servlet executing in the appliance embedded system in a manner that minimizes use of appliance computational resources and at the same time allows the server to cause the appliance to perform requested testing operations. Preferred embodiments further provide an integrated computing environment in which a test request is generated at one computer system and then transferred to the test server for automatic handling and routing to the subject appliance. In this way, the test server handles communication with the appliance on behalf of the operator generating the test request utilizing the servlet architecture of the preferred embodiments. The preferred test architecture allows for remote diagnose of pervasive appliances to allow for better support and troubleshooting of the appliances. As more and more electronic appliances utilize embedded microprocessor based systems, the preferred embodiment test architecture can be widely used to diagnose numerous classes of pervasive appliances.